package com.wr.services;

import com.wr.pojos.RoleUserEntity;
import com.wr.pojos.UserEntity;
import com.wr.utils.PageInfo;

import java.util.List;

/**
 * @ClassName: UserService
 * @Description: 用户接口
 * @author 吴睿
 * @date 2016-11-29
 **/
public interface UserService {
    /**
     * 查询用户
     * @param mobile    手机号
     * @param password  密码
     * @return  返回值
     */
    UserEntity selectUser(String mobile,String password);

    /**
     * 查询用户
     * @param username  用户名
     * @param mobile    手机号
     * @return  返回值
     */
    UserEntity selectUserByNameAndMobile(String username,String mobile);

    /**
     * 新增用户
     * @param userEntity    参数
     */
    void addUser(UserEntity userEntity);

    /**
     * 用户验证
     * @param user  参数
     * @return  返回值
     */
    UserEntity authentication(UserEntity user);

    /**
     * 根据手机号查询用户
     * @param mobile    手机号
     * @return  返回值
     */
    UserEntity selectByUsername(String mobile);

    /**
     * 查询用户列表
     * @param pageInfo  分页条件
     * @return  返回值
     */
    List<UserEntity> selectUserList(PageInfo pageInfo);

    /**
     * 更新用户角色
     * @param roleUserEntity
     */
    void updateUserRole(RoleUserEntity roleUserEntity);

    /**
     * 通过用户和角色id查询用户-角色关系
     * @param userId
     * @return
     */
    RoleUserEntity selectByUserAndRole(String userId);
}
